package com.siha_back.controller;

import com.siha_back.common.Result;
import com.siha_back.entity.dto.MockInterview;
import com.siha_back.service.MockInterviewService;
import com.siha_back.utils.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;


@RestController
@RequestMapping("/mockInterview")
public class MockInterviewController {
    /**
     * 服务对象
     */
    @Autowired
    private MockInterviewService mockInterviewService;

//    /**
//     * 分页查询
//     *
//     * @param mockInterview 筛选条件
//     * @param pageRequest      分页对象
//     * @return 查询结果
//     */
//    @GetMapping
//    public ResponseEntity<Page<MockInterview>> queryByPage(MockInterview mockInterview, PageRequest pageRequest) {
//        return ResponseEntity.ok(this.mockInterviewService.queryByPage(mockInterview, pageRequest));
//    }
//
//    /**
//     * 通过主键查询单条数据
//     *
//     * @param id 主键
//     * @return 单条数据
//     */
//    @GetMapping("{id}")
//    public ResponseEntity<MockInterview> queryById(@PathVariable("id") Long id) {
//        return ResponseEntity.ok(this.mockInterviewService.queryById(id));
//    }
//
    /**
     * 新增面试记录
     *
     * @param mockInterview 实体
     * @return 新增结果
     */
    @PostMapping("/add")
    public Result<MockInterview> add(MockInterview mockInterview) {
        int result = mockInterviewService.insert(mockInterview);
        if(result==0){
            return Result.error("添加失败");
        }
        return Result.success("添加成功");
    }

    /**
     * 查询同一用户最新一次的面试记录
     *
     * @return 查询结果
     */
    @GetMapping("/queryByNew")
    public Result<MockInterview> queryByNew() {
        MockInterview mockInterview = mockInterviewService.queryByNew();
        return Result.success(200,"查询成功",mockInterview);
    }

    /**
     * 查询同一用户所有的面试记录
     *
     * @return 查询结果
     */
    @GetMapping("/queryByUserId")
    public Result<List<MockInterview>> queryByUserId() {
        Map<String, Object> map = ThreadLocalUtil.get();
        Integer id = (Integer) map.get("id");
        System.out.println(id);
        List<MockInterview> mockInterviews = mockInterviewService.queryByUserId(id);
        return Result.success(200,"查询成功",mockInterviews);
    }
//
//    /**
//     * 编辑数据
//     *
//     * @param mockInterview 实体
//     * @return 编辑结果
//     */
//    @PutMapping
//    public ResponseEntity<MockInterview> edit(MockInterview mockInterview) {
//        return ResponseEntity.ok(this.mockInterviewService.update(mockInterview));
//    }
//
//    /**
//     * 删除数据
//     *
//     * @param id 主键
//     * @return 删除是否成功
//     */
//    @DeleteMapping
//    public ResponseEntity<Boolean> deleteById(Long id) {
//        return ResponseEntity.ok(this.mockInterviewService.deleteById(id));
//    }

}

